package com.fegin.util;

/**
 * @author 张子艺
 * @packge com.sskj.app.controller
 * @data 2019-02-21 15:57
 * @project CurrenCy-Cloud
 * 美化JSON
 */
public class JSONTool {

    private boolean isTab = true;

    public String stringToJSON(String strJson) {
        // 计数tab的个数
        int tabNum = 0;
        StringBuffer jsonFormat = new StringBuffer();
        int length = strJson.length();

        for (int i = 0; i < length; i++) {
            char c = strJson.charAt(i);
            if (c == '{') {
                tabNum++;
                jsonFormat.append(c + "<w:br />");
                jsonFormat.append(getSpaceOrTab(tabNum));
            } else if (c == '}') {
                tabNum--;
                jsonFormat.append("<w:br />");
                jsonFormat.append(getSpaceOrTab(tabNum));
                jsonFormat.append(c);
            } else if (c == ',') {
                jsonFormat.append(c + "<w:br />");
                jsonFormat.append(getSpaceOrTab(tabNum));
            } else {
                jsonFormat.append(c);
            }
        }
        return jsonFormat.toString();
    }

    // 是空格还是tab
    public String getSpaceOrTab(int tabNum) {
        StringBuffer sbTab = new StringBuffer();
        for (int i = 0; i < tabNum; i++) {
            if (isTab) {
                sbTab.append("<w:t xml:space=\"preserve\">   </w:t>");
            } else {
                sbTab.append("<w:t xml:space=\"preserve\">      <w:t>");
            }
        }
        return sbTab.toString();
    }
}